package msmstacmp

import "dgo/goutils/gnss"

type MsmEpoch struct {
	svDec *gnss.GnssSVEpochRtcmDecoder
	epMap map[uint32]*gnss.GnssSVEpoch
}

func NewMsmEpoch() *MsmEpoch {
	me := &MsmEpoch{
		svDec: gnss.NewGnssSVEpochRtcmDecoder(),
		epMap: make(map[uint32]*gnss.GnssSVEpoch),
	}
	me.svDec.OnEpochFunc = me.onEpoch
	return me
}

func (me *MsmEpoch) InputBuf(buf []byte) {
	me.svDec.InputBuf(buf)
}

func (me *MsmEpoch) onEpoch(epoch *gnss.GnssSVEpoch, checktype int) {
	me.epMap[epoch.TOW] = epoch.Clone()
}
